"""
【示例 2.3.3.1】使用 for 循环嵌套打印九九乘法表。可以使用两个 range()函数和两个 for
循环来控制乘法表两个乘数。
"""
for num_one in range(1,10):
    for num_two in range(1, num_one + 1):
        product = num_one * num_two
        print(f'{num_one} * {num_two} = {product}', end=' ')
    print("")

print("*" * 100)

"""
【示例 2.3.3.2】使用 for 循环嵌套与 continue 和 break 结合，完成将乘法表控制在 5*5
时结束，并不输出 3 的乘法表行。
"""
for num_one in range(1,10):
    if num_one == 3:
        continue
    for num_two in range(1, num_one + 1):
        product = num_one * num_two
        print(f'{num_one} * {num_two} = {product}', end=' ')
    print("")
    if num_one == 5:
        break
print("*" * 100)

"""
【示例 2.3.3.3】for 循环嵌套打印一个 5*5 的由“*”字符组成的矩阵。
"""
for i in range(0,5):
    for j in range(0,5):
        print("*", end=" ")
    print("")
print("")
print("*" * 100)

"""
【示例 2.3.3.4】 使用 for 循环嵌套打印一个由“*”字符组成的三角形。
"""
for i in range(0,5):
    for i in range(0, i + 1):
        print("*", end=' ')
    print("")
for i in range(0,4):
    for i in range(0, 4-i):
        print("*", end=' ')
    print("")

print("*" * 100)

"""
用倒序的方式打印乘法表
"""
print("倒序打印乘法表")
for num_one in range(9,0,-1):
    for num_two in range(1, num_one+1):
        product = num_one * num_two
        print(f'{num_one} * {num_two} = {product}', end=' ')
    print("")
